<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:pt="http://xmlns.jcp.org/jsf/passthrough">

<h:head>
	<title>Tienda</title>
</h:head>
<h:body>
	<p:growl id="growl" showDetail="true" life="5000" />
	
	<p:dialog header="Login" widgetVar="dlg" resizable="false">
		<h:form id="form-login">
			<h:panelGrid columns="2" cellpadding="5">
				<h:outputLabel for="username" value="Nombre de Usuario:" />
				<p:inputText value="#{managedBeanUsuario.username}" id="username"
					required="true" label="username" />

				<h:outputLabel for="password" value="Contraseña:" />
				<h:inputSecret value="#{managedBeanUsuario.password}" id="password"
					required="true" label="password" />

				<f:facet name="footer">
					<p:commandButton id="loginButton" value="Login" action="#{managedBeanUsuario.login()}" ajax="false"/>  
				</f:facet>
			</h:panelGrid>

		</h:form>
	</p:dialog>
	  
	<p:dialog header="Ingrese sus Datos" widgetVar="dlg-registro" resizable="false">  
	    <h:form id="form-registro">  
	  
	        <h:panelGrid columns="3" style="margin-bottom:10px">  
	            <h:outputLabel for="nombre" value="Nombre de Usuario: " />  
		            <p:inputText id="nombre" value="#{managedBeanUsuario.username}" required="true" pt:placeholder="Ej: Juan2014">  
		                <f:validateLength minimum="1" maximum="25" />  
		                <p:clientValidator />  
		            </p:inputText>  
			    <p:message for="nombre" display="icon" />
	            
	             <h:outputLabel for="pass" value="Password: " />  
		            <p:inputText id="pass" value="#{managedBeanUsuario.password}" required="true" pt:placeholder="Ej: m1a2r3t4e5s6">  
		                <f:validateLength minimum="1" maximum="25" />  
		                <p:clientValidator />  
		            </p:inputText>  
			    <p:message for="pass" display="icon" />
			    
			     <h:outputLabel for="nombre_personal" value="Nombre :" />  
		            <p:inputText id="nombre_personal" value="#{managedBeanUsuario.nombre}" required="true" pt:placeholder="Ej: Juan2014">  
		                <f:validateLength minimum="1" maximum="25" />  
		                <p:clientValidator />  
		            </p:inputText>  
			    <p:message for="nombre_personal" display="icon" />
			    
			     <h:outputLabel for="apellido" value="Apellido: " />  
		            <p:inputText id="apellido" value="#{managedBeanUsuario.apellido}" required="true" pt:placeholder="Ej: Juan2014">  
		                <f:validateLength minimum="1" maximum="25" />  
		                <p:clientValidator />  
		            </p:inputText>  
			    <p:message for="apellido" display="icon" />
	              
	        </h:panelGrid>  
	        <p:commandButton value="Registrarse" action="#{managedBeanUsuario.registro()}" update=":growl" oncomplete="PF('dlg-registro').hide();" validateClient="true"/>  
	              
	    </h:form>  
	</p:dialog>  
	
	
	<p:dialog header="Resultado de Venta" widgetVar="dlg-venta-completa" resizable="false">
		<h:form id="form-resultado-venta" >
			
			<h:panelGrid columns="2" style="margin-bottom:10px" rendered="#{managedBeanTienda.carro.nombreUsuario == 'no'}">  
				<h:outputText value="La venta no se pudo realizar ya que no está logeado en el Sistema."/>
				<h:outputText />
				<h:outputText value=" Si ya se encuentra registrado haga click aqui: "/>
				<h:outputLink id="loginLink"
					onclick="PF('dlg').show()" title="login">
					<p:commandButton icon="ui-icon-person" 
						action="#{managedBeanUsuario.limpiarCampos()}"
						update=":form-login:username :form-login:password"/>
				</h:outputLink>
				<h:outputText id="message-registro" value="Si NO está Registrado, puede Registrase " />
				<p:commandButton id="boton-registro" value="Aquí" onclick="PF('dlg-registro').show()"
						action="#{managedBeanUsuario.limpiarCampos()}"
						update=":form-registro"
						rendered="#{managedBeanUsuario.messageLogin == 'Usted No está logeado.'}"/>  	
			</h:panelGrid>	
			
			<h:panelGrid columns="2" style="margin-bottom:10px" rendered="#{managedBeanTienda.messageCompra == 'VentaExitosa'}">
				<h:outputText id="txt_cont" value="La venta se realizo correctamente. precione volver para ir a la tienda."/>
				<p:commandButton value="Volver" icon="ui-icon-home" action="#{managedBeanTienda.irATiendaPorFinVenta()}"/>
			</h:panelGrid>
			
			<h:panelGrid columns="2" style="margin-bottom:10px" rendered="#{managedBeanTienda.messageCompra == 'VentaFallida'}">
				<h:outputText value="La venta no se puede Realizar porque los stock no estan actualizados."/>
				<p:commandButton value="Volver" icon="ui-icon-home" action="#{managedBeanTienda.irATiendaPorFinVenta()}"/>
			</h:panelGrid>
			
			<h:panelGrid columns="2" style="margin-bottom:10px" rendered="#{managedBeanTienda.messageCompra == 'CarroVacio'}">
				<h:outputText value="No hay productos en el carro, para volver a la Tiena precione volver."/>
				<p:commandButton value="Volver" icon="ui-icon-home" action="#{managedBeanTienda.irATiendaPorFinVenta()}"/>
			</h:panelGrid>
		</h:form>
	</p:dialog>
	
	
	<h1>
		<p align="center">Productos en el Carrito</p>
	</h1>
	
	<h:form id="form-carro">
			<p:dataTable value="#{managedBeanTienda.carro.detalleCarro}" var="prod" border="1"
					emptyMessage="No Se Han Encontrado Productos En El Carro">
			
	    		<p:column>
	        		<f:facet name="header">
	           			<h:outputText value="Producto" />
	        		</f:facet>
	        		<h:outputText value="#{prod.producto.nombre}" />
	    		</p:column>
	    		<p:column>
	        		<f:facet name="header">
	           			<h:outputText value="Precio" />
	        		</f:facet>
	        		<h:outputText value="#{prod.producto.precio}" />
	    		</p:column>
	    		
	    		<p:column>
	        		<f:facet name="header">
	           			<h:outputText value="Cantidad" />
	        		</f:facet>
	        		<h:outputText value="#{prod.cantidad}" />
	    		</p:column>
	    		
	    		<p:column>
	        		<f:facet name="header">
	           			<h:outputText value="Agregar" />
	        		</f:facet>
	        		<p:commandButton icon="ui-icon-circle-plus" action="#{managedBeanTienda.agregarCantidad(prod.idProducto)}" update=":form-carro :growl"/>
	    		</p:column>
	    		
	    		<p:column>
	        		<f:facet name="header">
	           			<h:outputText value="Quitar" />
	        		</f:facet>
	        		<p:commandButton icon="ui-icon-circle-minus" action="#{managedBeanTienda.quitarCantidad(prod.idProducto)}" update=":form-carro :growl"/>
	    		</p:column>
	    		
	    		<p:column>
	        		<f:facet name="header">
	           			<h:outputText value="Eliminar" />
	        		</f:facet>
	        		<p:commandButton icon="ui-icon-trash" action="#{managedBeanTienda.eliminarProdCarro(prod.idProducto)}" update=":form-carro :growl"/>
	    		</p:column>
	    		
	    		<p:column footerText="Total: #{managedBeanTienda.obtenerTotal()}">
	        		<f:facet name="header">
	           			<h:outputText value="Subtotal" />
	        		</f:facet>
	        		<h:outputText value="#{prod.producto.precio*prod.cantidad}" />
	    		</p:column>
	    		
	    		
	    		<f:facet name="footer">
		    			<p:commandButton id="volver-tienda" value="Voler a Tienda" icon="ui-icon-home" action="#{managedBeanTienda.irATienda()}"/>
		    			<p:commandButton value="Comprar" icon="ui-icon-cart" oncomplete="PF('dlg-venta-completa').show()" action="#{managedBeanTienda.realizarVenta()}" update=":growl :form-resultado-venta :form-carro"/>
	    		</f:facet>
	    		
	    		
	        </p:dataTable>
			
	</h:form>
	
</h:body>
</html>